﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using housingsafety.server.Models;
using NetTopologySuite.Geometries;

namespace housingsafety.server.Entities.DataModels
{
    public class VillageFireSafetyDto
    {
        public string Id { get; set; }
        public string VillageOwnership { get; set; }
        public string VillageName { get; set; }
        public int? FireLanesNumber { get; set; }
        public int? FirePoolNumber { get; set; }
        public int? ChargingFacilitiesNumber { get; set; }
        public int? OutdoorFireHydrantNumber { get; set; }
        public int? FireWaterCraneNumber { get; set; }
        public int? FireBrigadeNumber { get; set; }
        public int? FireFighterNumber { get; set; }
        public int? FireTruckNumber { get; set; }
        public int? FireStationNumber { get; set; }
        public int? FireStationPersonnelNumber { get; set; }
        public int? FireStationTruckNumber { get; set; }
        public int? ElectricBicycleNumber { get; set; }
        public int? SelfBuiltHousesAreaNumber { get; set; }
        public int? SelfBuiltRentalHouseNumber { get; set; }
        public string Province { get; set; }
        public string City { get; set; }
        public string County { get; set; }
        public string Country { get; set; }
        public string Village { get; set; }
        public string Geometry { get; set; }

        /// <summary>
        /// 几何BoundingBox
        /// </summary>
        public ZmRect BoundingBox { get; set; }

        public DateTime CreateOn { get; set; }
        public DateTime? ModifiedOn { get; set; }

        /// <summary>
        /// 0-未排查,1-排查中,2-已排查
        /// </summary>
        public int? Pczt { get; set; }

        public List<string> FireLayoutPhotos { get; set; }
    }

    public class VillageFireSafetyAttrDto
    {
        public string Id { get; set; }

        public double Lng { get; set; }
        public double Lat { get; set; }

        public string VillageOwnership { get; set; }
        public string VillageName { get; set; }
        public int? FireLanesNumber { get; set; }
        public int? FirePoolNumber { get; set; }
        public int? ChargingFacilitiesNumber { get; set; }
        public int? OutdoorFireHydrantNumber { get; set; }
        public int? FireWaterCraneNumber { get; set; }
        public int? FireBrigadeNumber { get; set; }
        public int? FireFighterNumber { get; set; }
        public int? FireTruckNumber { get; set; }
        public int? FireStationNumber { get; set; }
        public int? FireStationPersonnelNumber { get; set; }
        public int? FireStationTruckNumber { get; set; }
        public int? ElectricBicycleNumber { get; set; }
        public int? SelfBuiltHousesAreaNumber { get; set; }
        public int? SelfBuiltRentalHouseNumber { get; set; }
        public string Province { get; set; }
        public string City { get; set; }
        public string County { get; set; }
        public string Country { get; set; }
        public string Village { get; set; }

        public string townname { get; set; }

        public string xzqdmname { get; set; }

        public DateTime CreateOn { get; set; }
        public DateTime? ModifiedOn { get; set; }

        /// <summary>
        /// 0-未排查,1-排查中,2-已排查
        /// </summary>
        public int? Pczt { get; set; }

        public List<string> star_rating_reports { get; set; }
        public List<string> FireLayoutPhotos { get; set; }
    }

    public class VillageFireSafetyGeomDto
    {
        public string Id { get; set; }

        public string VillageName { get; set; }

        public double Lng { get; set; }
        public double Lat { get; set; }

        public string Geometry { get; set; }

        /// <summary>
        /// 几何BoundingBox
        /// </summary>
        public ZmRect BoundingBox { get; set; }

        /// <summary>
        /// 0-未排查,1-排查中,2-已排查
        /// </summary>
        public int? Pczt { get; set; }
    }
}
